<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>promise</title>
</head>
<body>
    
    <script>
       function test() {

            var p = new Promise((resolve, reject) => {

                setTimeout(() => {
                    // console.log(1);
                    resolve('成功时的调用1'); //成功时的调用
                    // reject('失败时的调用'); //失败时的调用
                }, 2000);
            })
        
            return p;
       }

       function test2() {
           var p = new Promise((resolve, reject) => {

                setTimeout(() => {
                    // console.log(2);
                    resolve('成功时的调用2'); //成功时的调用
                    // reject('def'); //失败时的调用
                }, 2000);
            })
        
            return p;
       }

       function test3() {
            var p = new Promise((resolve, reject) => {

                setTimeout(() => {
                    // console.log(3);
                    // resolve('000'); //成功时的调用
                    reject('def'); //失败时的调用
                }, 2000);

            })

            return p;
       }

        Promise
        .race([ test(), test2(), test3() ])
        
        .then((msg) => {

            console.log('succeed' + ':' + msg)

        })
        .catch((msg) => {

            console.log('succeed' + ':' + msg)

        })
        
    //    Promise
    //     .all([ test(), test2(), test3() ])
        
    //     .then((msg) => {

    //         console.log('succeed' + ':' + msg)

    //     })
    //     .catch((msg) => {

    //         console.log('succeed' + ':' + msg)

    //     })


    //     .then((msg) => {
    //        console.log('succeed' + ':' + msg);
    //        return test2();
    //    })

    //     .then((msg) => {
    //        console.log('succeed' + ':' + msg);
    //        return test3();
    //    })

    //     .then((msg) => {
    //        console.log('succeed' + ':' + msg)
    //    })

    //     .catch((msg) => {
    //        console.log('error' + ':' + msg)
    //    })
        
        // fun(10);
        // function fun(name) {
        //     this.name = name;
        //     setTimeout(function() {
        //         var str = [];
        //         for(var i = 0; i < this.name; i++) {
        //             str = [i] + '我是帅哥';
        //             console.log(str)
        //         }
                
        //     },3000) 
        //     // clearTimeout();
        // }
        
    </script>
</body>
</html>